from django.db import models


# Create your models here.
class Topic(models.Model):
    # 用户学习的主题
    text = models.CharField(max_length=200) # 用于存储少量文本，告诉数据库预留200字符
    date_added = models.DateTimeField(auto_now_add=True) # 将当前时间自动作为时间戳

    def __str__(self):
        # 返回模型的字符串表示，使用的是text这个属性
        return self.text


class Entry(models.Model):
    # 学到的关于某个主题的知识
    topic = models.ForeignKey(Topic, on_delete=models.CASCADE) # 将Topic作为一个外键联系起来。级联删除：在删除主题的同时，删除所有与之相关联的条目
    text = models.TextField() # 长度不限
    date_added = models.DateTimeField(auto_now_add=True)

    class Meta:
        # 存储管理模型的额外信息
        verbose_name_plural = 'entries'

    def __str__(self):
        # 只显示text的前50个字符作为预览
        return f"{self.text[:50]}..."
